#!/bin/bash

echo "🚀 启动开发环境..."

# 检查 Node.js 是否安装
if ! command -v node &> /dev/null; then
    echo "❌ 请先安装 Node.js (https://nodejs.org/)"
    exit 1
fi

# 检查 Java 是否安装
if ! command -v java &> /dev/null; then
    echo "❌ 请先安装 Java 11 或更高版本"
    exit 1
fi

# 进入前端目录并安装依赖
cd frontend
if [ ! -d "node_modules" ]; then
    echo "📦 安装前端依赖..."
    npm install
fi

# 启动前端开发服务器（后台运行）
echo "🎨 启动前端开发服务器 (http://localhost:3000)..."
npm run dev &
FRONTEND_PID=$!

# 返回项目根目录
cd ..

# 等待前端服务器启动
sleep 3

# 启动后端服务器
echo "☕ 启动后端服务器 (http://localhost:8080)..."
mvn spring-boot:run &
BACKEND_PID=$!

# 等待用户中断
echo ""
echo "✅ 开发环境已启动！"
echo "   前端: http://localhost:3000"
echo "   后端: http://localhost:8080"
echo ""
echo "按 Ctrl+C 停止所有服务..."

# 捕获中断信号
trap "echo ''; echo '🛑 正在停止服务...'; kill $FRONTEND_PID $BACKEND_PID; exit" INT

# 等待进程
wait
